R-sub{i:l}
R-sub(A; B)
== if Rnone?(A)
== ifthen True
== if Rplus?(A)
== ifthen R-sub{i:l}(Rplus-left(A); B) R-sub{i:l}(Rplus-right(A); B)
== if Rplus?(B) then R-sub{i:l}(A; Rplus-left(B)) R-sub{i:l}(A; Rplus-right(B)) else A = B fi
clarification:
R-sub{i:l}
R-sub(A; B)
== if Rnone?(A)
== ifthen True
== if Rplus?(A)
== ifthen R-sub{i:l}(Rplus-left(A); B) R-sub{i:l}(Rplus-right(A); B)
== if Rplus?(B)
== ifthen R-sub{i:l}(A; Rplus-left(B)) R-sub{i:l}(A; Rplus-right(B))
== else A = B es_realizer{i:l}
== fi
(recursive)